package top.kaoshanji.p3ch21a;

import java.util.ArrayList;

/**
 * 代码清单-p3ch21a-241页a：根节点接口
 * @author kaoshanji
 * ^_^
 * create time 2025/3/25 21:07
 */
public interface IRoot {

    /**
     * 得到总经理的信息
     * @return String
     */
    public String getInfo();

    /**
     * 总经理下边要有小兵，那要能增加小兵，比如研发部总经理，这是个树枝节点
     * @param branch IBranch
     */
    public void add(IBranch branch);

    /**
     * 那要能增加树节点
     * @param leaf ILeaf
     */
    public void add(ILeaf leaf);

    /**
     * 既然能增加，那还要能够遍历，不可能总经理不知道他手下有哪些人
     * @return ArrayList
     */
    public ArrayList getSubordinateInfo();



}
